package com.deyuanyun.pic.risk.mapper;

import com.deyuanyun.pic.risk.controller.dto.RiskAssessmentQuery;
import com.deyuanyun.pic.risk.domain.RiskAssessment;
import com.deyuanyun.pic.risk.controller.dto.RiskStatisticsQuery;
import com.github.pagehelper.Page;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * "风险评价"管理 数据层接口
 *
 * @author huanglw
 * @date 2016-7-18
 *
 * History: [修改人][时间][修改描述]
 */
public interface RiskAssessmentDao {

    /**
     * 统计 风险评价管段 条数
     *
     * @param riskStatisticsQuery 统计查询条件对象
     * @return
     */
    BigDecimal countAllRisk(RiskStatisticsQuery riskStatisticsQuery);

    /**
     * 统计高风险 风险评价管段 条数
     *
     * @param riskStatisticsQuery 统计查询条件对象
     * @return
     */
    BigDecimal countHighRisk(RiskStatisticsQuery riskStatisticsQuery);

    /**
     * 统计已经采取措施的 风险评价管段 条数
     *
     * @param riskStatisticsQuery 统计查询条件对象
     * @return
     */
    BigDecimal countControlMeasures(RiskStatisticsQuery riskStatisticsQuery);


    /**
     * 查询最大风险信息
     *
     * @param riskStatisticsQuery 统计查询条件对象
     * @return
     */
    List<Map> findMaxRisk(RiskStatisticsQuery riskStatisticsQuery);

    /**
     * 查询风险管段信息
     *
     * @param riskStatisticsQuery 统计查询条件对象
     * @return
     */
    List<RiskAssessment> queryRiskPipeSegment(RiskStatisticsQuery riskStatisticsQuery);


    /**
     * 统计风险等级
     *
     * @param riskStatisticsQuery 统计查询条件对象
     * @return
     */
    List<Map> queryRiskGrade(RiskStatisticsQuery riskStatisticsQuery);


    /**
     * 根据条件 分页查询当前“风险评价”管段的信息
     *
     * @param riskAssessmentQuery
     * @return
     */
    Page<RiskAssessment> queryRiskAssessment(RiskAssessmentQuery riskAssessmentQuery);

}
